Import Fields to a System
You can upload field metadata for a System in a zipped JSON file using the upload option on the System detail page.
Fields JSON Import File Format
Use the following schema information to format the JSON file that is used to load field metadata for a System.
Format:
{
"version": "2018-02-07",
"fields":[
{
"name": "...",
"location": {...},
"type": {..}
}
]
}
You can request a sample JSON file by submitting a request to support.
Properties in “root”:
Property |
Description |
Presence |
Example 1 |
version |
Schema version as string |
Must be present NOTE: This is a hard coded value that MUST be set to this exact string for this version of the API |
“2018-02-07” |
fields |
Array of JSON object |
Must be present NOTE: See properties below |
|
Properties in “fields” array:
Property |
Description |
Presence |
Example 1 |
name |
The friendly name of the field. |
Must be present NOTE: This is the Friendly Name that displays in the UI on the Data Set page. |
Customer Name |
location |
The full system-specific path, location information for a field. This is a JSON bag. |
Must be present |
JSON { … } (see “location” table below) |
type |
The full system-specific data type information for a field. This is a JSON bag. |
Must be present |
JSON { … } (see “type” table below) |
tags |
An array of terms that should be indexed along with this field for search. |
May be present. |
[ “KUNNR”, “Customer Name” ] |
usage |
Contains system-specific usage or context data, if available. For example, the content of a database’s data dictionary, a MSSQL column comment, etc. |
May be present. Default is the empty string. |
|
Properties in “location”:
Property |
Description |
Presence |
Example 1 |
technicalName |
A short name of the field name |
Must be present NOTE: This is the Technical Name that displays in the UI on the Data Set page. |
KUNNR |
path |
The full system-specific path, location information for a field |
Must be present NOTE: This is the Location (under the system name) that displays in the UI on the Data Set page. |
dbo.KNA1.KUNNR |
<custom properties> |
Any other custom property that integrators may choose to upload; any other system-specific properties. |
May be present. |
|
Properties in “type”:
Property |
Description |
Presence |
Example 1 |
dataTypeIntent |
A simplified data type from this list: text, number, Boolean, date, money, location, binary, identifier |
May be present |
text |
baseDataType |
The field data type |
Must be present NOTE: This is displayed in the UI on the Add Fields tab on the Data Set page. |
nvarchar |
range |
Range constraints |
Must be present if applicable. |
JSON { … } (see “range” table below) |
precision |
A precision for numeric data types |
Must be present when baseDataType is numeric; otherwise, must not be present. NOTE: This is displayed in the UI on the Add Fields tab on the Data Set detail page on the Data Set - Fields and Data Set - Add Fields tabs. |
|
length |
A length value for characters types |
Must be present when baseDataType is an array of characters or bytes; otherwise, must not be present. NOTE: This is displayed in the UI on the Add Fields tab on the Data Set page. |
36 |
encoding |
Additional details about the encoding of the field |
Must be present if applicable NOTE: This can be a string. |
“Utf-8”, “latin-1”, IEEE-754 floating point, binary data is in big-endian or little-endian, bools are 0xFFFFF or 0x00001 etc. |
identity |
Indicates whether this field is an identifier in the underlying model (e.g., a primary key in a relational db context, or a resource identifier in a REST API context) |
May be present. NOTE: Default to false. |
true |
optional |
A determination if the field can be nullable |
May be present. NOTE: Default to false. |
true |
<custom properties> |
Any other custom property that integrators may choose to upload; any other system-specific properties. |
May be present. |
|
Proposed properties in “range”:
Property |
Description |
Presence |
Example 1 |
minValue |
A minimum value for numeric data |
Must be present if applicable. Must not be present if not applicable. |
-7.25 |
maxValue |
A maximum value for numeric data |
Must be present if applicable. Must not be present if not applicable. |
13 |
rangeValues |
A finite list of values drawn from the default range of the baseDataType. |
May be present if applicable. (If the data set would be really long, it might not be possible to include.)
Must not be present if not applicable. |
[ “Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday” ] |
rangeDataType |
The name of the range constraint (e.g. a FK table name) |
May be present if applicable.
If applicable and rangeValues is not present, then this property must be present. |
“DaysOfTheWeek”, “dbo.DaysOfTheWeek” |
The upload file must be zipped (compressed). The zipped file can contain multiple JSON files to organize the files.
For example:
SAPFileUpload.zip can contain:
- SAP (directory - optional)
- HRFields.json
- FinanceFields.json
- LegalFields.json
Or it can contain one file
SAPFileUpload.zip
- SAP (directory - optional)
- Fields.json
To upload field metadata for a System:
-
OR
-
Click the drop-down menu for the System.
- Select Upload Metadata.
-
Drag and Drop the JSON file onto the upload modal.
OR
Browse for the file.
- Click Upload.
IMPORTANT: You will receive a message in the Notifications panel once the file has been processed to indicate success or to inform you of issues with the import.
After you receive a message that the upload succeeded, you can use your browser refresh option to update the count in the Fields panel to verify the upload. Next, the fields can be used to set up Data Sets. Refer to Set Up a Data Set.
Remove Fields from a System
You can remove specific fields (or a group of fields) from a System if you re-import to a System with the import file in which fields that had been previously imported to that System are not included. The fields that you choose to exclude from the newly imported file are marked as Removed from System in any Data Set where the fields had been added.
If a field that was removed from a System is subsequently re-included in the import file and imported to the System again it is made “active” again in any data set in which it has been used.